home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / A-Monthly Disks / (c)aap.d64 / copy-all.64 (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  2KB  |  86 lines

  1. 100 PRINT"[147]DISK COPY-ALL  JIM BUTTERFIELD"
  2. 110 A$="!JIM BUTTERFIELD!":A$=A$+A$+A$:A$=A$+A$+A$+A$+A$
  3. 120 P$=""
  4. 130 DIM L2(232),L1%(232),N$(232),T%(232),T$(4)
  5. 140 DATA XXX,SEQ,PRG,USR,REL
  6. 150 FORJ=0TO4:READT$(J):NEXTJ
  7. 160 INPUT"FROM UNIT  8[157][157][157]";F
  8. 170 GOSUB830
  9. 180 F$=D$
  10. 190 INPUT"TO UNIT  9[157][157][157]";T
  11. 200 GOSUB830:T$=D$:IFT=FANDF$=T$THENRUN
  12. 230 N=0:CLOSE1:CLOSE15:OPEN 15,F,15:PRINT#15,"I"+F$
  13. 240 GOSUB860:IF E THEN STOP:GOTO230
  14. 250 Z=90:INPUT"PATTERN  *[157][157][157]";P$
  15. 260 P$="XXX"+LEFT$(P$+"[160][160][160][160][160][160][160][160][160][160][160][160][160][160][160]",16)
  16. 270 PRINT"HOLD DOWN 'Y' OR 'N' KEY TO SELECT"
  17. 280 PRINT"PROGRAMS TO BE COPIED..."
  18. 290 OPEN 1,F,3,"$"+F$
  19. 300 GOSUB860:IFETHENSTOP:GOTO230
  20. 310 SYS4156
  21. 320 R=255:GOTO 340
  22. 330 SYS4245
  23. 340 FORJ=16TO2STEP-1:IFASC(MID$(A$,J+3))=160THENNEXTJ
  24. 350 N$=MID$(A$,4,J)
  25. 360 T9=ASC(A$)-128:IFT9<1ORT9>4GOTO470
  26. 370 L1%=ASC(MID$(A$,22))
  27. 380 L2=ASC(MID$(A$,29))+ASC(MID$(A$,30))*256
  28. 390 PRINTMID$(A$,4,16);" ";T$(T9)
  29. 400 P=PEEK(203)ANDR
  30. 410 GETZ$:IFZ$=""ANDP<064GOTO450
  31. 420 IFZ$="Y"ORZ$="N"THENZ=ASC(Z$):R=255:GOTO450
  32. 430 IFZ$=CHR$(13)THENR=0:GOTO450
  33. 440 GOTO410
  34. 450 IFZ<80THENPRINT"[145]                     [145]":GOTO470
  35. 460 N=N+1:L2(N)=L2:N$(N)=N$:T%(N)=T9:L1%(N)=L1%
  36. 470 IFST=0ANDN<232GOTO330
  37. 480 CLOSE1:CLOSE15:PRINT" * * * * *"
  38. 485 IFN=0THENPRINT"* NO PROGRAMS *":GOTO 800
  39. 490 FORJ=1TON
  40. 500 L2=L2(J):T%=T%(J):IFL>L2GOTO670
  41. 510 IFQ=0GOTO550
  42. 520 PRINT"*** OUTPUT DISK FULL"
  43. 530 INPUT"DO YOU HAVE A NEW ONE";Z$
  44. 540 IFASC(Z$)<>89THENEND
  45. 550 CLOSE15:OPEN15,T,15:INPUT"WANT TO NEW THE OUTPUT DISK  N[157][157][157]";Z$
  46. 560 IFASC(Z$)<>89GOTO600
  47. 570 INPUT"DISK NAME,ID";X$,Y$
  48. 580 PRINT#15,"N"+T$+":"+X$+","+Y$
  49. 590 GOSUB860:IFETHENSTOP:GOTO550
  50. 600 PRINT#15,"I"+T$:OPEN1,T,0,"$"+T$+":!#$%&"
  51. 610 GOSUB860:IFETHENSTOP:GOTO550
  52. 620 GOSUB890:GOSUB890:Q=Q+1
  53. 630 GET#1,X$:IFX$<>""GOTO630
  54. 640 GOSUB890
  55. 650 L=X+Y*256:PRINT"(";L;"BLOCKS FREE )"
  56. 660 CLOSE1:CLOSE15:GOTO500
  57. 670 OPEN14,F,15:OPEN15,T,15
  58. 680 PRINTLEFT$(N$(J)+"                    ",21);
  59. 690 OPEN3,F,3,F$+":"+N$(J)+","+T$(T%)
  60. 700 GOSUB855:IFETHENPRINT"** ";E$;E:GOTO780
  61. 710 IFT%=4THENOPEN4,T,4,T$+":"+N$(J)+",L,"+CHR$(L1%(J)):GOTO730
  62. 720 OPEN4,T,4,T$+":"+N$(J)+","+T$(T%)+",W"
  63. 730 L=L-L2:GOSUB860:IFETHENPRINT"*** ";E$;E:GOTO780
  64. 740 IFT%=4THENSYS4462:GOSUB855:GOTO760
  65. 750 SYS4443
  66. 760 N$(J)="":GOSUB860:IFETHENPRINT"**** ";E$;E:GOTO780
  67. 770 PRINT"[145]"
  68. 780 CLOSE4:CLOSE3:CLOSE15:CLOSE14
  69. 790 NEXTJ
  70. 800 X=FRE(0):INPUT"ANOTHER INPUT DISK READY";Z$
  71. 810 IFASC(Z$)=89GOTO230
  72. 820 END
  73. 830 INPUT"DRIVE  0[157][157][157]";D
  74. 840 IFD*D<>DGOTO830
  75. 850 D$=CHR$(D+48):RETURN
  76. 855 INPUT#14,E,E$,E1,E2:GOTO870
  77. 860 INPUT#15,E,E$,E1,E2
  78. 870 IFE=0THENE=(ST AND 191):E$="*ST*"
  79. 880 RETURN
  80. 890 GET#1,X$
  81. 900 GET#1,X$
  82. 910 GET#1,X$
  83. 920 X=ASC(X$+CHR$(0))
  84. 930 GET#1,X$:Y=ASC(X$+CHR$(0))
  85. 940 RETURN
  86.